﻿using System;

namespace XCommunity.Documents
{

  public class UbbTagKind
  {



    internal UbbTagKind()
    {

    }


    public bool HasArgument { get; internal set; }
    public UbbTagChildrenParseMode ChildrenParseMode { get; internal set; }


    public static readonly UbbTagKind Unknow = new UbbTagKind();
    public static readonly UbbTagKind ChildAsArgument = new UbbTagKind() { HasArgument = false, ChildrenParseMode = UbbTagChildrenParseMode.String };
    public static readonly UbbTagKind BlockWithArgument = new UbbTagKind() { HasArgument = true, ChildrenParseMode = UbbTagChildrenParseMode.Block };
    public static readonly UbbTagKind BlockWithoutArgument = new UbbTagKind() { HasArgument = false, ChildrenParseMode = UbbTagChildrenParseMode.Block };
    public static readonly UbbTagKind TextWithArgument = new UbbTagKind() { HasArgument = true, ChildrenParseMode = UbbTagChildrenParseMode.MultilineText };
    public static readonly UbbTagKind TextWithoutArgument = new UbbTagKind() { HasArgument = false, ChildrenParseMode = UbbTagChildrenParseMode.MultilineText };

  }

  public enum UbbTagChildrenParseMode
  {
    String,
    MultilineText,
    Block,
    Inline

  }
}